/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package manager.modulo.ordemservico.enumerator;

import java.util.LinkedList;

/**
 *
 * @author THIAGO
 */
public class EnumSituacaoOrdemServico {

    public enum SituacaoOS {

        EMABERTO,
        EMEXECUSSAO,
        FINALIZADA,
        AGUARDANDOMATERIAL,
        CANCELADA,
        NAOENCONTRADO
    }

    public static SituacaoOS ConverterNumeroEnum(int numero) {
        switch (numero) {
            case 1:
                return SituacaoOS.EMABERTO;
            case 2:
                return SituacaoOS.EMEXECUSSAO;
            case 3:
                return SituacaoOS.FINALIZADA;
            case 4:
                return SituacaoOS.AGUARDANDOMATERIAL;
            case 5:
                return SituacaoOS.CANCELADA;
            default:
                return SituacaoOS.NAOENCONTRADO;
        }
    }

    public static int ConverterEnumNumero(SituacaoOS situacaoOS) {
        switch (situacaoOS) {
            case EMABERTO:
                return 1;
            case EMEXECUSSAO:
                return 2;
            case FINALIZADA:
                return 3;
            case AGUARDANDOMATERIAL:
                return 4;
            case CANCELADA:
                return 5;
            default:
                return 0;
        }
    }

    public static String ConvertEnumString(SituacaoOS situacaoOS) {
        switch (situacaoOS) {
            case EMABERTO:
                return "EM ABERTO";
            case EMEXECUSSAO:
                return "EM EXECUSSÃO";
            case FINALIZADA:
                return "FINALIZADA";
            case AGUARDANDOMATERIAL:
                return "AGUARD. MATERIAL";
            case CANCELADA:
                return "CANCELADA";
            default:
                return "NÃO ENCONTRADO";
        }
    }

    public static SituacaoOS ConvertStringEnum(String situacao) {
        if (situacao.equalsIgnoreCase(EnumSituacaoOrdemServico.ConvertEnumString(SituacaoOS.EMABERTO))) {
            return SituacaoOS.EMABERTO;
        } else if (situacao.equalsIgnoreCase(EnumSituacaoOrdemServico.ConvertEnumString(SituacaoOS.EMEXECUSSAO))) {
            return SituacaoOS.EMEXECUSSAO;
        } else if (situacao.equalsIgnoreCase(EnumSituacaoOrdemServico.ConvertEnumString(SituacaoOS.FINALIZADA))) {
            return SituacaoOS.FINALIZADA;
        } else if (situacao.equalsIgnoreCase(EnumSituacaoOrdemServico.ConvertEnumString(SituacaoOS.AGUARDANDOMATERIAL))) {
            return SituacaoOS.AGUARDANDOMATERIAL;
        } else if (situacao.equalsIgnoreCase(EnumSituacaoOrdemServico.ConvertEnumString(SituacaoOS.CANCELADA))) {
            return SituacaoOS.CANCELADA;
        } else {
            return SituacaoOS.NAOENCONTRADO;
        }
    }

    public static LinkedList<SituacaoOS> ListaSituacao() {
        LinkedList<SituacaoOS> listaSituacao = new LinkedList<SituacaoOS>();
        listaSituacao.add(SituacaoOS.EMABERTO);
        listaSituacao.add(SituacaoOS.EMEXECUSSAO);
        listaSituacao.add(SituacaoOS.AGUARDANDOMATERIAL);
        listaSituacao.add(SituacaoOS.FINALIZADA);
        listaSituacao.add(SituacaoOS.CANCELADA);
        return listaSituacao;
    }
}
